1. Technical Field
The present invention relates in general to an improved data processing system and in particular to an improved graphical user interface within a data processing system. Still more particularly, the present invention relates to a method and system for variable speed scrolling of a viewable object within a data processing system.
2. Description of the Related Art
A graphical user interface is a type of display format which enables a user to choose commands, make selections, start programs, and see lists of files and other options by pointing to a pictorial representation and lists of menu items on a computer display screen, television, kiosk display or hand-held digital products. Choices may generally be activated by either a keyboard or a pointing device, such as a mouse. A mouse is a commonly used pointing device, containing one or more buttons and possibly a scroll knob, that permits a user to interact with a product or operating environment such as a graphical user interface. Of course, other methods may be utilized to interact with such an interface, including a stylus, a human finger or voice commands.
Some conventional graphical user interfaces provide a cursor and a scroll bar for scrolling through portions of a viewable object. A viewable object can contain multiple components such a spreadsheets, text, hotlinks or hyperlinks, pictures, sound and video objects. However, a viewable object is not limited to these components. In many instances of graphical user interfaces a vertical or horizontal bar at the side or bottom of a graphical user interface window may be utilized in conjunction with a pointing device such as a mouse, track ball or stylus to move about in a viewable object. Scrolling permits viewing of any desired portion of a viewable object and is so named because it is the electronic equivalent of reading through a rolled (i.e., scrolled) viewable object rather than flipping through pages of a book. A vertical scroll bar is usually utilized to control up and down movement (e.g., through lines and pages of a viewable object), while a horizontal scroll bar controls movement across a viewable object.
Conventional scroll bar systems commonly include two arrows or scroll buttons and a slider. Each arrow or scroll button controls which direction a user desires to scroll through a viewable object. A scroll button conventionally controls movement through a viewable object in small increments or small blocks of information, such as individual lines or page of a viewable object, for example. Moreover, if an arrow associated with a scroll button points in an upward direction, the viewable object can be scrolled from its present position toward the first page of the viewable object. If an arrow associated with a scroll button points in a downward position, the viewable object can be scrolled from its present position towards the last page of the viewable object. Of course, information presented in a window need not be associated with discrete pages, and scrolling may simply display or represent different regions of the information which may be text, audio, images, animations, or 3-D graphics such as a drawing of an engine in a CAD or virtual reality environment.
A slider is also typically utilized to control movement through a viewable object in larger increments than when the arrows are utilized. Instead of incrementing by small blocks of information, the slider typically controls movements through a viewable object in larger blocks, increments or groups of information, such as two or more pages, for example. Therefore, when a user desires to go from the first page of a viewable object to the fiftieth page, the slider is usually selected and moved until the fiftieth page is selected. The term xe2x80x9celevatorxe2x80x9d is particularly used sometimes to describe a slider that operates of a vertical scroll bar. The term xe2x80x9cpuckxe2x80x9d is also utilized to describe a slider which also operates on a horizontal scroll bar.
When a large, viewable object, such as a large list of items, is accessed by a user via a graphical user interface, the scroll bar slider often represents only a small portion of the viewable object. When the slider is grabbed and moved by the user utilizing a pointing device such as a mouse, the viewable object scrolls too quickly, even for small movements of the slider, making it difficult for the user to locate a desired section of the viewable object. Even expert mouse users, for example, can become frustrated when attempting to utilize today""s sliders on large viewable objects. The problem is even more acute for less-adept users.
Current solutions to the problems associated with accessing large viewable objects typically provide an index bar from which the user may select an area of the viewable object to search. However, such solutions do not provide fluid scanning of the viewable object. An index bar, for example, merely allows the user to jump to a particular region of a viewable object without reference to a previous region. Index bars do not permit a user to scroll to a desired regions of a viewable object and thereafter focus a search at multiple levels within the desired regions.
With respect to the foregoing needs, it should therefore be apparent that a need exists for a method and system which permits a user to initiate variable speed scrolling through a large viewable object within a data processing system in a manner which permits access of desirable data within that viewable object in an efficient manner.
It is therefore one object of the present invention to provide an improved data processing system.
It is another object of the present invention to provide an improved graphical user interface within a data processing system.
It is yet another object of the present invention to provide an improved method and system for variable speed scrolling of a viewable object within a data processing system.
The foregoing objects are achieved as is now described. A method and system are disclosed for variable speed scrolling through a viewable object within a data processing system such as a computer, a television, a kiosk display or hand-held digital product. A portion of the viewable object is displayed within a display window within a data processing system in conjunction with a scroll bar having a slider and one or more scroll buttons associated therewith or some other suitable method of controlling video or audio displays. User selection of the slider or a scroll button initiates scrolling of the viewable object so that additional portions of the viewable object may be displayed. As the viewable object is scrolled, the scroll speed is dynamically varied in response to the content of the viewed portion of the viewable object. For example, the scroll speed can vary in response to the type of objects displayed within the viewable object, the number and location of hotlinks or hyperlinks within the viewable object and/or the amount and number of previous viewings of the various portions of the viewable object by the user.
The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.